/**
以下是一个使用 Sequelize 进行转账操作的示例，涉及两个表，一个是账户表，另一个是转账记录表。

假设账户表中有两个账户：A 和 B。我们要从 A 账户向 B 账户转账 100 元。
**/
try {
// 首先，我们需要开启一个 Sequelize 事务：
  const t = await sequelize.transaction();
// 查询 A 账户和 B 账户，确保它们的余额足够转账。
  const accountA = await Account.findOne({
    where: { id: accountAId },
    transaction: t,
    lock: true,　 // 加锁，防止并发问题
  });

  const accountB = await Account.findOne({
    where: { id: accountBId },
    transaction: t,
    lock: true,
  });

  if (accountA.balance < amount) {
    await t.rollback();
    return "余额不足";
  }
// 更新 A 账户和 B 账户的余额。
  await Account.update({ balance: accountA.balance - amount }, {
    where: { id: accountAId },
    transaction: t,
  });

  await Account.update({ balance: accountB.balance + amount }, {
    where: { id: accountBId },
    transaction: t,
  });
　// 在转账记录表中插入一条记录，记录转账的详细信息。
  await Transfer.create({
    from: accountAId,
    to: accountBId,
    amount: amount,
  }, {
    transaction: t,
  });

  await t.commit();
  return "转账成功";
} catch (error) {
  console.log(error);
  return "转账失败";
}